package com.itheima.blog.article.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.itheima.api.client.dto.TBannerDto;
import com.itheima.blog.article.dto.TBlogDto;
import com.itheima.api.client.blogAdminReport.ReportVO;
import com.itheima.blog.article.domain.po.vo.CategoryVO;
import com.itheima.blog.article.entity.TBlog;
import com.itheima.blog.article.query.categoryQuery;
import com.itheima.blog.article.query.FilePageQuery;
import com.itheima.common.query.PageDTO;
import com.itheima.common.domain.PageReqDto;
import com.itheima.common.domain.PageResDto;
import com.itheima.blog.article.query.CommentQuery;
import com.itheima.blog.article.query.PageQueryDTO;
import com.itheima.blog.article.vo.ReplyVO;
import com.itheima.common.domain.PageResDto;

import java.util.List;

/**
 * <p>
 * 博客文章表 服务类
 * </p>
 *
 * @author lin
 * @since 2023-07-12
 */
public interface ITBlogService extends IService<TBlog> {

    List<TBlog> blogDetail(Long blogId);

    List<TBlog> relatedBlog(Long categoryId);

    ReportVO fingLogAndCommentNumber();

    List<Long> classificationNumber(List<Integer> categoryIds);

    ReportVO labelNumber();

    List<ReportVO> provinceBlogs(Integer type);

    ReportVO contributeForLastYear();

    PageDTO<CategoryVO> categoryPage(categoryQuery query);


    PageDTO<CategoryVO> filePage(FilePageQuery filePageQuery);

    PageResDto<TBlog> findBlogByPage(TBlogDto tBlogDto);
}
